package com.dces.jx.billtest.dto.copGNoAndEmsNo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import lombok.Getter;
import lombok.Setter;
import com.xdo.validation.annotation.XdoSize;
/**
 *
 * @author xdoV2.0
 * @date: 2021-9-15
 */
@Setter @Getter
@ApiModel(value = "传入参数")
public class EmsCusExgCurParam implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
    * 主键
    */
	@ApiModelProperty("主键")
    private String sid;
	/**
     * 序号
     */
	@Digits(integer = 9, fraction = 0, message = "序号必须为数字,整数位最大9位,小数最大0位!")
	@ApiModelProperty("序号")
	@JsonProperty("gNo")
	private  Integer gNo;
	/**
     * 料号
     */
	@XdoSize(max = 32, message = "料号长度不能超过32位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("料号")
	private  String copGNo;
	/**
     * 经营单位编码
     */
	@XdoSize(max = 10, message = "经营单位编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("经营单位编码")
	private  String tradeCode;
	/**
     * 账册编号
     */
	@XdoSize(max = 12, message = "账册编号长度不能超过12位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("账册编号")
	private  String emsNo;
	/**
     * 批准最大余数量
     */
	@Digits(integer = 13, fraction = 5, message = "批准最大余数量必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("批准最大余数量")
	private  BigDecimal apprMaxSurpQty;
	/**
     * 变更批准日期
     */
	@ApiModelProperty("变更批准日期")
	private  Date chgApprTime;
	/**
     * 主料标志
     */
	@XdoSize(max = 1, message = "主料标志长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("主料标志")
	private  String classMark;
	/**
     * 商品编码
     */
	@XdoSize(max = 10, message = "商品编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("商品编码")
	private  String codeTS;
	/**
     * 磋商标志
     */
	@XdoSize(max = 1, message = "磋商标志长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("磋商标志")
	private  String consumeDiscussFlag;
	/**
     * 单耗质疑标志
     */
	@XdoSize(max = 1, message = "单耗质疑标志长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("单耗质疑标志")
	private  String consumeQueFlag;
	/**
     * 企业内部编号
     */
	@XdoSize(max = 20, message = "企业内部编号长度不能超过20位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("企业内部编号")
	private  String copEmsNo;
	/**
     * 币制
     */
	@XdoSize(max = 3, message = "币制长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("币制")
	private  String curr;
	/**
     * 海关执行标志
     */
	@XdoSize(max = 1, message = "海关执行标志长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("海关执行标志")
	private  String cusExeMark;
	/**
     * 申报单价
     */
	@Digits(integer = 13, fraction = 5, message = "申报单价必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("申报单价")
	private  BigDecimal decPrice;
	/**
     * 征免方式
     */
	@XdoSize(max = 1, message = "征免方式长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("征免方式")
	private  String dutyMode;
	/**
     * 企业执行标志
     */
	@XdoSize(max = 1, message = "企业执行标志长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("企业执行标志")
	private  String etpsExeMark;
	/**
     * 商品名称
     */
	@XdoSize(max = 510, message = "商品名称长度不能超过510位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("商品名称")
	@JsonProperty("gName")
	private  String gName;
	/**
     * 规格型号
     */
	@XdoSize(max = 510, message = "规格型号长度不能超过510位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("规格型号")
	@JsonProperty("gModel")
	private  String gModel;
	/**
     * 期初数量
     */
	@Digits(integer = 13, fraction = 5, message = "期初数量必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("期初数量")
	private  BigDecimal initialQty;
	/**
     * 插入时间
     */
	@ApiModelProperty("插入时间")
	private  Date insertTime;
	/**
     * 插入人
     */
	@XdoSize(max = 100, message = "插入人长度不能超过100位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("插入人")
	private  String insertUser;
	/**
     * 修改标志
     */
	@XdoSize(max = 1, message = "修改标志长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("修改标志")
	private  String modifyMark;
	/**
     * 报文控制标志
     */
	@Digits(integer = 9, fraction = 0, message = "报文控制标志必须为数字,整数位最大9位,小数最大0位!")
	@ApiModelProperty("报文控制标志")
	private  Integer msgDecMark;
	/**
     * 备注
     */
	@XdoSize(max = 200, message = "备注长度不能超过200位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("备注")
	private  String note;
	/**
     * 备案批准日期
     */
	@ApiModelProperty("备案批准日期")
	private  Date putrecApprTime;
	/**
     * 申报数量
     */
	@Digits(integer = 13, fraction = 5, message = "申报数量必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("申报数量")
	private  BigDecimal qty;
	/**
     * 数量控制标志
     */
	@XdoSize(max = 1, message = "数量控制标志长度不能超过1位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("数量控制标志")
	private  String qtyCtrlFlag;
	/**
     * 申报计量单位
     */
	@XdoSize(max = 3, message = "申报计量单位长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("申报计量单位")
	private  String unit;
	/**
     * 法定计量单位
     */
	@XdoSize(max = 3, message = "法定计量单位长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("法定计量单位")
	private  String unit1;
	/**
     * 第二计量单位
     */
	@XdoSize(max = 3, message = "第二计量单位长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("第二计量单位")
	private  String unit2;
	/**
     * 修改日期
     */
	@ApiModelProperty("修改日期")
	private  Date updateTime;
	/**
     * 修改人
     */
	@XdoSize(max = 100, message = "修改人长度不能超过100位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("修改人")
	private  String updateUser;
	/**
     * 时间戳
     */
	@Digits(integer = 13, fraction = 0, message = "时间戳必须为数字,整数位最大13位,小数最大0位!")
	@ApiModelProperty("时间戳")
	private  Integer timeStamp;
}
